草庐IT

android - GridLayout 项目之间的空间

全部标签

ruby - 如何只获取没有命名空间的类名

有这样一个类。moduleFooclassBarendend而且我想获取不包含Foo的Bar的类名。bar=Foo::Bar.newbar.class.to_s.match('::(.+)$'){$1}我可以通过这段代码获取类名,但我认为这不是获取类名的最佳方式。有没有更好的方法在没有命名空间的情况下获取类名? 最佳答案 如果您正在使用ActiveSupport(Rails的一部分),您实际上可以在String类上使用#demodulize方法。http://apidock.com/rails/String/demodulizeba

ruby-on-rails - 你如何选择数组中的每第 n 个项目?

我想在Ruby中找到一种方法来选择数组中的每个第n个项目。例如,选择每隔一个项目将转换:["cat","dog","mouse","tiger"]进入:["dog","tiger"]是否有Ruby方法可以做到这一点,或者是否有任何其他方法可以做到这一点?我尝试使用类似的东西:[1,2,3,4].select{|x|x%2==0}#resultsin[2,4]但这只适用于整数数组,不适用于字符串。 最佳答案 您可以使用Enumerable#each_slice:["cat","dog","mouse","tiger"].each_sl

ruby-on-rails - 在两个日期时间之间迭代,步长为一小时

我正在寻找一种有效的方法,在Ruby1.9.x/Rails3.2.x中,以一个小时的步长在两个DateTime对象之间进行迭代。('2013-01-01'.to_datetime..'2013-02-01'.to_datetime).step(1.hour)do|date|...end我知道这个问题是1.hour只是秒数,但我尝试将其转换为DateTime对象并将其用作步骤也不起作用.我查看了“BewareofRubySugar”。它在底部附近提到DateTime有一个直接的step方法。我通过在DateTime对象上运行methods来确认这一点,但是我在DateTime中找不到任何

ruby-on-rails - Rails 每个循环每 6 个项目插入标签?

我有X个图像对象需要在一个View中循环,我想每6个对象左右创建一个新的div(用于图库)。我看过周期,但它似乎改变了所有其他记录。有谁知道每6次将代码插入View的方法吗?我可能可以使用嵌套循环来做到这一点,但我对这个有点难过。 最佳答案 您可以将Enumerable#each_slice与#each结合使用,以避免内联计算。each_slice将数组分成nblock,在本例中为6。image.alt)%> 关于ruby-on-rails-Rails每个循环每6个项目插入标签?,我们在

ruby-on-rails - 处理命名空间中的命名空间模型(类)

我正在使用RubyonRails3,我想在命名空间中处理模型(类)命名空间。也就是说,如果我有一个名为NS1的命名空间和一个名为NS2的命名空间的“子命名空间”,我想在中处理模型(类)NS2。如果我运行一个脚手架railsgeneratescaffoldns1/ns2/Articleid:integertitle:string它将生成以下模型文件:models/ns1/ns2/article.rbfilemodels/ns1/articles.rbmodels/ns1/articles.rb包含:moduleNs1::Articlesdefself.table_name_prefix'

ruby-on-rails - 插件和 Ruby gem 之间的区别?

插件和gem有什么区别?每种的不同用途是什么?你会在哪里以及为什么使用一个而不是另一个? 最佳答案 Gems安装在系统级别,而插件安装在应用程序级别。这意味着如果两个或多个应用程序在同一台服务器上运行,它们可以共享gem,但每个应用程序都有自己的插件。现在我建议使用gem,因为随着应用程序的扩展,它们更容易维护。 关于ruby-on-rails-插件和Rubygem之间的区别?,我们在StackOverflow上找到一个类似的问题: https://stack

ruby - 如果不修改,在迭代之间保留哈希排序?

如果我遍历一次哈希,然后在不修改内容的情况下再次这样做,是否保证键以相同的顺序出现?快速测试表明:>h={'a'=>1,'b'=>2,'c'=>3}>100_000.times.map{h.to_s==h.to_s}.all?=>true另一个问题,如果允许上述情况,我可以遍历它只更改值,而不添加任何新键,并保持键的顺序不变吗?类似于这个python问题:Dodictspreserveiterationorderiftheyarenotmodified?与建议的重复项不同,我对元素是否具有完全指定的顺序不感兴趣,我只关心两次连续迭代未修改提供相同序列的限制。

ruby-on-rails - 如何在两个日期之间生成随机日期和时间?

不过不要忽略“日期和时间”部分。 最佳答案 Time.at((date2.to_f-date1.to_f)*rand+date1.to_f)您将获得一个介于两个给定日期时间之间的时间对象。 关于ruby-on-rails-如何在两个日期之间生成随机日期和时间?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2683857/

ruby-on-rails - 在 RSpec 中,mock 和 double 之间有什么区别?

在rspec中,您可以创建一个mock或一个double。这两个似乎几乎是同一件事,我在文档中找不到任何可以消除它们歧义的内容。有什么区别? 最佳答案 mock和stub都是更通用的double的别名。与context和describe一样,它们可以互换使用,以使规范的意图更加清晰。这在TheRSpecBook中有更详细的描述。. 关于ruby-on-rails-在RSpec中,mock和double之间有什么区别?,我们在StackOverflow上找到一个类似的问题:

ruby - 如何声明在 RSpec 中的示例之间共享的变量?

假设我有以下规范:describeThingdoit'canreaddata'do@data=get_data_from_file#['42','36']expect(@data.count).toeq2endit'canprocessdata'doexpect(@data[0].to_i).toeq42#Failsbecause@dataisnilendend我想要的只是在给定的describe或context中共享一个变量。我会在一个示例中写一个值,然后在另一个示例中读取它。我该怎么做? 最佳答案 你应该使用before(:ea